1. Field of the Invention
The present invention relates to information processing environments and, more particularly, to shared temporary storage management in a shared disk database cluster.
2. Background Art
Computers are very powerful tools for storing and providing access to vast amounts of information. Computer databases are a common mechanism for storing information on computer systems while providing easy data access to users. A typical database is an organized collection of related information stored as “records” having “fields” of information. As an example, a database of employees may have a record for each employee where each record contains fields designating specifics about the employee, such as name, home address, salary, and the like.
Between the actual physical database itself (i.e., the data actually stored on a storage device) and the users of the system, a database management system or DBMS is typically provided as a software cushion or layer. In essence, the DBMS shields the database user from knowing or even caring about underlying hardware-level details. Typically, all requests from users for access to the data are processed by the DBMS. For example, information may be added or removed from data files, information retrieved from or updated in such files, and so forth, all without user knowledge of the underlying system implementation. In this manner, the DBMS provides users with a conceptual view of the database that is removed from the hardware level.
In recent years, users have demanded that database systems be continuously available, with no downtime, as they are frequently running applications that are critical to business operations. In response, distributed database systems have been introduced. Architectures for building multi-processor, high performance transactional database systems include a Shared Disk Cluster (SDC), in which multiple computer systems, each with a private memory share a common collection of disks. Each computer system in a SDC is also referred to as a node, and all nodes in the cluster communicate with each other, typically through private interconnects.
In general, SDC database systems provide for transparent, continuous availability of the applications running on the cluster with support for failover amongst servers. More and more, mission-critical systems, which store information on database systems, such as data warehousing systems, are run from such clusters. Products exist for building, managing, and using a data warehouse, such as Sybase IQ available from Sybase, Inc. of Dublin, Calif.
Among the advances of data warehouse systems in a shared disk cluster is the ability to achieve distributed query processing. Distributed query processing allows SQL queries submitted to one node of the cluster to be processed by multiple cluster nodes, allowing more hardware resources to be utilized to improve performance. Distributed query processing typically requires the nodes to share temporary, intermediate data pertaining to the query in order to process and assemble the final result set, after which the temporary data is discarded. The temporary data consumes space of one or more network storage devices specifically configured for temporary storage use by the database cluster. In a shared disk cluster, the simplest solution for shared temporary storage management is to statically reserve a fixed portion of the shared temporary store for each node in the database cluster. This makes exclusive access rights unambiguous, as each node will use its reserved portion of the shared temporary storage.
However, such fixed portion allocation does not provide intelligent space management, which can adapt to dynamic configuration and workload conditions. Accordingly, a need exists for a flexible and dynamic approach to shared temporary storage management in an SDC. The present invention addresses these and other needs.